const http = require('http');
const fs = require('fs');
const querystring = require('querystring');
const urllib = require('url');

var users = {}
var server = http.createServer(function (req,res) {
    //get 方式提交数据
    var obj = urllib.parse(req.url,true);//解析请求的参数

    var url = obj.pathname;
    var GET = obj.query;
    var POST = querystring.parse(str);//post方式提交数据

    //接受请求参数
    var str = '';
    req.on('data',function (data) {
        str += data;
    })
    req.on('end',function () {
        var filename = './www' + url;

        //区分接口和文件

            if(url=='/user') {//接口
            switch (GET.act){
                case 'reg':
                    //检查用户名是否已经有了
                    if(users[GET.user]){
                        res.write('{"OK":false,"msg":"此用户已经注册"}')
                    }else {
                        users[GET.user] = GET.pass;
                        res.write('{"OK":true,"msg":"注册成功"}')
                    }
                    break;
                case 'login':
                    if(users[GET.user]==null){
                        res.write('{"OK":false,"msg":"此用户不存在"}')
                    }else if(users[GET.user]!=GET.pass){
                        res.write('{"OK":false,"msg":"用户名或者密码有误"}')
                    }else{
                        res.write('{"OK":true,"msg":"登录成功"}')
                    }
                    break;
                default:
                    res.write('{"OK":false,"msg":"未知的act"}')
                    break;
            }
            res.end();//低级错误
        } else {//文件
            fs.readFile(filename, function (err, data) {
                if (err) {
                    res.write('<h1>404</h1>')
                } else {
                    res.write(data);
                }
                //切记切记,这个res.end一定要放到读取文件完成后
                res.end()
            })
        }
    })
})

server.listen(8080);